﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace demo2.module.ket_hon
{
    public partial class ket_hon : Form
    {
        public ket_hon()
        {
            InitializeComponent();
            loaddata();
        }
        #region[loaddata]
        private void loaddata()
        {
            ////====== tao ma khu vuc
            object makhuvuc = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan", "List_PhuongXa", String.Format("TenTaiKhoan='{0}'", So_Tu_Phap.Properties.Settings.Default.Username), "");
            MessageBox.Show("'" + makhuvuc.ToString() + "'");
            //====load so=====================================================================
            #region[load so]
            txt_sohieu.Text = GetMaGiayPhep();
            #endregion
            //==== load loai ket hôn =========================================================
            #region [load loai kết hôn]
            DataTable dtloaiKS = CMSUtils.GetDataSQL("", "dbo_DMLoaiKetHon", "*", "", "");
            ddl_loaikethon.DataSource = dtloaiKS;
            ddl_loaikethon.DisplayMember = "NoiDung";
            ddl_loaikethon.ValueMember = "LoaiKH";
            #endregion
            //load dan toc ===================================================================
            #region [load dân tộc]
            //=== load dân tôc chồng===
            DataTable dt_DanToc_Chong = CMSUtils.GetDataSQL("", "dbo_DMDanToc", "*", "", "");
            ddl_dantoc_chong.DataSource = dt_DanToc_Chong;
            ddl_dantoc_chong.DisplayMember = "TenDanToc";
            ddl_dantoc_chong.ValueMember = "MaDanToc";
            ddl_dantoc_chong.SelectedValue = "KINH";
            //=== load dân tôc vợ======
            DataTable dt_DanToc_vo = CMSUtils.GetDataSQL("", "dbo_DMDanToc", "*", "", "");
            ddl_dantoc_vo.DataSource = dt_DanToc_vo;
            ddl_dantoc_vo.DisplayMember = "TenDanToc";
            ddl_dantoc_vo.ValueMember = "MaDanToc";
            ddl_dantoc_vo.SelectedValue = "KINH";
            #endregion
            //===load quoc tich===============================================================
            #region [load quốc tịch]
            //=== load quốc tịch chong
            DataTable dt_QuocTich_Chong = CMSUtils.GetDataSQL("", "dbo_DMQuocTich", "*", "", "");
            ddl_quoctich_chong.DataSource = dt_QuocTich_Chong;
            ddl_quoctich_chong.DisplayMember = "TenQuocTich";
            ddl_quoctich_chong.ValueMember = "MaQuocTich";
            ddl_quoctich_chong.SelectedValue = "VN";
            //=== load quốc tịch vo 
            DataTable dt_QuocTich_vo = CMSUtils.GetDataSQL("", "dbo_DMQuocTich", "*", "", "");
            ddl_quoctich_vo.DataSource = dt_QuocTich_vo;
            ddl_quoctich_vo.DisplayMember = "TenQuocTich";
            ddl_quoctich_vo.ValueMember = "MaQuocTich";
            ddl_quoctich_vo.SelectedValue = "VN";
            #endregion
            //==losd can bo ho tich===========================================================
            #region [Load cán bộ hộ tịch]
            object taiKhoanIDCapXa = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan tk", "TaiKhoanID", String.Format("TenTaiKhoan='{0}' AND (SELECT LaQuanTri FROM dbo_TB_NhomTaiKhoan ntk WHERE tk.NhomTaiKhoanID = ntk.NhomTaiKhoanID)=1", So_Tu_Phap.Properties.Settings.Default.Username), "");

            object taiKhoanIDAdmintong = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan tk", "TaiKhoanID", String.Format("TenTaiKhoan='{0}' AND Administrator=1  AND (SELECT LaQuanTri FROM dbo_TB_NhomTaiKhoan ntk WHERE tk.NhomTaiKhoanID = ntk.NhomTaiKhoanID)=1", So_Tu_Phap.Properties.Settings.Default.Username), "");

            if (!CMSUtils.IsNull(taiKhoanIDCapXa) || !CMSUtils.IsNull(taiKhoanIDAdmintong))
            {
                DataTable dtcanbohotich = CMSUtils.GetDataSQL("", "dbo_TB_TaiKhoan", "*", "List_PhuongXa LIKE '%" + makhuvuc.ToString() + "%'", "");
                if (dtcanbohotich.Rows.Count > 0)
                {
                    ddl_canbohotich.DataSource = dtcanbohotich;
                    ddl_canbohotich.ValueMember = "TaiKhoanID";
                    ddl_canbohotich.DisplayMember = "TenDayDu";
                    //  ddl_CanBoHoTich.SelectedIndex = 0;

                }
            }
            else
            {
                object taiKhoanIDCanBo = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan", "TenDayDu", String.Format("TenTaiKhoan='{0}'", So_Tu_Phap.Properties.Settings.Default.Username), "");
                if (!CMSUtils.IsNull(taiKhoanIDCanBo))
                {
                    ddl_canbohotich.Text = taiKhoanIDCanBo.ToString();
                }
            }
            #endregion
            //==load nguoi ky=================================================================
            #region [Load Người ký]
            object taiKhoanIDCapXa2 = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan tk", "TaiKhoanID", String.Format("TenTaiKhoan='{0}' AND (SELECT LaQuanTri FROM dbo_TB_NhomTaiKhoan ntk WHERE tk.NhomTaiKhoanID = ntk.NhomTaiKhoanID)=1", So_Tu_Phap.Properties.Settings.Default.Username), "");

            object taiKhoanIDAdmintong2 = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan tk", "TaiKhoanID", String.Format("TenTaiKhoan='{0}' AND Administrator=1  AND (SELECT LaQuanTri FROM dbo_TB_NhomTaiKhoan ntk WHERE tk.NhomTaiKhoanID = ntk.NhomTaiKhoanID)=1", So_Tu_Phap.Properties.Settings.Default.Username), "");

            if (!CMSUtils.IsNull(taiKhoanIDCapXa2) || !CMSUtils.IsNull(taiKhoanIDAdmintong2))
            {
                DataTable dtNguoiKy = CMSUtils.GetDataSQL("", "dbo_TB_TaiKhoan", "*", "List_PhuongXa LIKE '%" + makhuvuc.ToString() + "%'", "");
                if (dtNguoiKy.Rows.Count > 0)
                {
                    ddl_nguoiky.DataSource = dtNguoiKy;
                    ddl_nguoiky.ValueMember = "TaiKhoanID";
                    ddl_nguoiky.DisplayMember = "TenDayDu";
                    ddl_nguoiky.SelectedValue = dtNguoiKy.Rows[0]["TaiKhoanID"].ToString();

                }
            }
            else
            {
                DataTable dtNguoiKy = CMSUtils.GetDataSQL("", "dbo_TB_TaiKhoan", "*", "List_PhuongXa LIKE '%" + makhuvuc.ToString() + "%'", "");
                if (dtNguoiKy.Rows.Count > 0)
                {
                    ddl_nguoiky.DataSource = dtNguoiKy;
                    ddl_nguoiky.ValueMember = "TaiKhoanID";
                    ddl_nguoiky.DisplayMember = "TenDayDu";
                    ddl_nguoiky.SelectedValue = dtNguoiKy.Rows[0]["TaiKhoanID"].ToString();

                }
            }
            #endregion
            //=== load chức danh==============================================================
            #region [load chức danh]
            DataTable data = CMSUtils.GetDataSQL("", "dbo_DMChucDanh", "*", "", "");
            ddl_chucdanh.DataSource = data;
            ddl_chucdanh.ValueMember = "MaChucDanh";
            ddl_chucdanh.DisplayMember = "TenChucDanh";
            #endregion
            //=== load trạng thái ho so=======================================================
            #region [load trạng thái ho so]
            DataTable dtTrangThaiHoSo = CMSUtils.GetDataSQL("", "dbo_DMTrangThai", "*", "", "");
            ddl_trangthaihoso.DataSource = dtTrangThaiHoSo;
            ddl_trangthaihoso.DisplayMember = "TenTrangThai";
            ddl_trangthaihoso.ValueMember = "MaTrangThai";
            #endregion
            //=====load phan phoi ho so ======================================================
            #region [Load phân phối hồ sơ]
            object taiKhoanIDCapXa3 = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan tk", "TaiKhoanID", String.Format("TenTaiKhoan='{0}' AND (SELECT LaQuanTri FROM dbo_TB_NhomTaiKhoan ntk WHERE tk.NhomTaiKhoanID = ntk.NhomTaiKhoanID)=1", So_Tu_Phap.Properties.Settings.Default.Username), "");

            object taiKhoanIDAdmintong3 = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan tk", "TaiKhoanID", String.Format("TenTaiKhoan='{0}' AND Administrator=1  AND (SELECT LaQuanTri FROM dbo_TB_NhomTaiKhoan ntk WHERE tk.NhomTaiKhoanID = ntk.NhomTaiKhoanID)=1", So_Tu_Phap.Properties.Settings.Default.Username), "");

            if (!CMSUtils.IsNull(taiKhoanIDCapXa3) || !CMSUtils.IsNull(taiKhoanIDAdmintong3))
            {
                DataTable dtPhanPhoi = CMSUtils.GetDataSQL("", "dbo_TB_TaiKhoan", "*", "List_PhuongXa LIKE '%" + makhuvuc.ToString() + "%'", "");
                if (dtPhanPhoi.Rows.Count > 0)
                {
                    ddl_phanphoihoso.DataSource = dtPhanPhoi;
                    ddl_phanphoihoso.ValueMember = "TaiKhoanID";
                    ddl_phanphoihoso.DisplayMember = "TenDayDu";
                    ddl_phanphoihoso.SelectedValue = dtPhanPhoi.Rows[0]["TaiKhoanID"].ToString();

                }
            }
            else
            {
                DataTable dtPhanPhoi = CMSUtils.GetDataSQL("", "dbo_TB_TaiKhoan", "*", "List_PhuongXa LIKE '%" + makhuvuc.ToString() + "%'", "");
                if (dtPhanPhoi.Rows.Count > 0)
                {
                    ddl_phanphoihoso.DataSource = dtPhanPhoi;
                    ddl_phanphoihoso.ValueMember = "TaiKhoanID";
                    ddl_phanphoihoso.DisplayMember = "TenDayDu";
                    ddl_phanphoihoso.SelectedValue = dtPhanPhoi.Rows[0]["TaiKhoanID"].ToString();

                }
            }
            #endregion
            //=== load thành phần hồ sơ=======================================================
            #region [load thành phần hồ sơ]
            DataTable dtThanhPhanHoSo2 = CMSUtils.GetDataSQL("", "dbo_TB_ThanhPhanHoSo", "*", "LoaiHoSO = 'KETHON'", "");
            cb_Thanhphanhoso.DataSource = dtThanhPhanHoSo2;
            cb_Thanhphanhoso.ValueMember = "ThanhPhanHoSoID";
            cb_Thanhphanhoso.DisplayMember = "TenHoSo";
            cb_Thanhphanhoso.Enabled = false;
            for (int i = 0; i < cb_Thanhphanhoso.Items.Count; i++)
            {
                cb_Thanhphanhoso.SetItemChecked(i, true);
            }
            #endregion
            //===format datetime==============================================================
            #region[Format datetime]
            //===== ngày tháng năm đăng ký
            this.txt_Nam.Format = DateTimePickerFormat.Custom;
            this.txt_Nam.CustomFormat = "dd/MM/yyyy";
            //===== ngày cap cmnd chồng
            this.txt_NgayCapCMND_chong.CustomFormat = " ";
            this.txt_NgayCapCMND_chong.Format = DateTimePickerFormat.Custom;
            //====== ngày cap cmnd vợ
            this.txt_NgayCapCMND_vo.CustomFormat = " ";
            this.txt_NgayCapCMND_vo.Format = DateTimePickerFormat.Custom;
            //====== ngày sinh chồng
            this.txt_Ngaysinh_chong.CustomFormat = " ";
            this.txt_Ngaysinh_chong.Format = DateTimePickerFormat.Custom;
            //====== ngày sinh vợ
            this.txt_Ngaysinh_vo.CustomFormat = " ";
            this.txt_Ngaysinh_vo.Format = DateTimePickerFormat.Custom;
            //====== ngày sinh Người khai
            this.txt_Ngaysinh_khai.CustomFormat = " ";
            this.txt_Ngaysinh_khai.Format = DateTimePickerFormat.Custom;
            //====== ngày tiếp nhận
            this.txt_ngaytiepnhan.Format = DateTimePickerFormat.Custom;
            this.txt_ngaytiepnhan.CustomFormat = "dd/MM/yyyy";
            //====== ngày trả dự kiến
            this.txt_ngaytradukien.Format = DateTimePickerFormat.Custom;
            this.txt_ngaytradukien.CustomFormat = "dd/MM/yyyy";
            object thoigian = CMSUtils.GetDataSQL("dbo_DMThoiGianXuLyHoSo", "ThoiGian", "MaTable = 'KHAISINH'", "");
            int thoiHanXuLys = CheckNgayHenTraHS(Convert.ToInt32(thoigian));
            txt_ngaytradukien.Value = txt_ngaytiepnhan.Value.AddDays(thoiHanXuLys);
            //====== ngày cấp bản sao
            this.txt_Ngaycapbansao.CustomFormat = " ";
            this.txt_Ngaycapbansao.Format = DateTimePickerFormat.Custom;
            #endregion
        }
        #endregion

        #region[EVENT]
        private string GetMaGiayPhep()
        {
            string maGiayPhep = "";

            for (int i = 1; ; i++)
            {
                if (i < 10)
                {
                    maGiayPhep = "0" + i + "/" + DateTime.Now.Year;
                }
                else
                {
                    maGiayPhep = i.ToString() + "/" + DateTime.Now.Year;
                }
                return "";
                object makhuvuc = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan", "List_PhuongXa", String.Format("TenTaiKhoan='{0}'", So_Tu_Phap.Properties.Settings.Default.Username), "");
                object tempMaGiayPhep = CMSUtils.GetDataSQL("dbo_KhaiSinh", "So",
                        String.Format("YEAR(NOW()) = YEAR(NgayDangKy) AND So='{0}' AND MaKhuVuc='{1}'", maGiayPhep, makhuvuc.ToString()), "");

                MessageBox.Show(tempMaGiayPhep.ToString());
                return "";

                if (CMSUtils.IsNull(tempMaGiayPhep))
                {
                    break;
                }
            }
            return maGiayPhep;
        }
        private int CheckNgayHenTraHS(int ngay)
        {
            int result = ngay;

            DateTime startDate = DateTime.Now;

            DataTable dtngaynghi = CMSUtils.GetDataSQL("", "dbo_TB_NgayNghi", "TuNgay,DenNgay,ApDungChoCacNam", "", "");

            for (var i = 1; i < ngay; i++)
            {
                DateTime testDate = startDate.AddDays(i);

                for (int j = 1; j < dtngaynghi.Rows.Count; j++)
                {
                    if (dtngaynghi.Rows[j]["ApDungChoCacNam"].ToString().Equals("True"))
                    {
                        if (Convert.ToDateTime(dtngaynghi.Rows[j]["TuNgay"]) <= testDate && testDate <= Convert.ToDateTime(dtngaynghi.Rows[j]["DenNgay"]))
                        {
                            result++;
                        }
                        else
                        {
                            switch (testDate.DayOfWeek)
                            {
                                case DayOfWeek.Saturday:
                                    result++;
                                    break;
                                case DayOfWeek.Sunday:
                                    result++;
                                    break;
                            }
                        }
                    }
                    else
                    {
                        if (DateTime.Now.Year == Convert.ToDateTime(dtngaynghi.Rows[j]["TuNgay"]).Year)
                        {
                            if (Convert.ToDateTime(dtngaynghi.Rows[j]["TuNgay"]) <= testDate && testDate <= Convert.ToDateTime(dtngaynghi.Rows[j]["DenNgay"]))
                            {
                                result++;
                            }
                            else
                            {
                                switch (testDate.DayOfWeek)
                                {
                                    case DayOfWeek.Saturday:
                                        result++;
                                        break;
                                    case DayOfWeek.Sunday:
                                        result++;
                                        break;
                                }
                            }
                        }
                    }
                }
            }

            return result;
        }
        private void txt_Ngaysinh_chong_ValueChanged(object sender, EventArgs e)
        {
            int NamSinh = txt_Ngaysinh_chong.Value.Year;
            int NamHienTai = DateTime.Now.Year;
            int Tuoi = NamHienTai - NamSinh;
            txt_tuoi_chong.Text = Tuoi.ToString();
            if (Tuoi < 18)
            {
                if (cb_Chiconamsinh_chong.Checked == true)
                {
                    MessageBox.Show("Ngày Sinh cha không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_chong.CustomFormat = "yyyy";
                }
                else
                {
                    MessageBox.Show("Ngày Sinh cha không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_chong.CustomFormat = "dd/MM/yyyy";
                }
            }
            else
            {
                if (cb_Chiconamsinh_chong.Checked == true)
                {
                    this.txt_Ngaysinh_chong.CustomFormat = "yyyy";
                }
                else
                {
                    this.txt_Ngaysinh_chong.CustomFormat = "dd/MM/yyyy";
                }
            }
        }
        private void txt_Ngaysinh_vo_ValueChanged(object sender, EventArgs e)
        {
            int NamSinh = txt_Ngaysinh_vo.Value.Year;
            int NamHienTai = DateTime.Now.Year;
            int Tuoi = NamHienTai - NamSinh;
            txt_tuoi_vo.Text = Tuoi.ToString();
            if (Tuoi < 18)
            {
                if (cb_Chiconamsinh_vo.Checked == true)
                {
                    MessageBox.Show("Ngày Sinh mẹ không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_vo.CustomFormat = "yyyy";
                }
                else
                {
                    MessageBox.Show("Ngày Sinh mẹ không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_vo.CustomFormat = "dd/MM/yyyy";
                }
            }
            else
            {
                if (cb_Chiconamsinh_vo.Checked == true)
                {
                    this.txt_Ngaysinh_vo.CustomFormat = "yyyy";
                }
                else
                {
                    this.txt_Ngaysinh_vo.CustomFormat = "dd/MM/yyyy";
                }
            }
        }
        private void txt_Ngaysinh_khai_ValueChanged(object sender, EventArgs e)
        {
            int NamSinh = txt_Ngaysinh_khai.Value.Year;
            int NamHienTai = DateTime.Now.Year;
            int Tuoi = NamHienTai - NamSinh;
            txt_tuoi_khai.Text = Tuoi.ToString();
            if (Tuoi < 18)
            {
                if (cb_Chiconamsinh_khai.Checked == true)
                {
                    MessageBox.Show("Ngày Sinh người khai không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_khai.CustomFormat = "yyyy";
                }
                else
                {
                    MessageBox.Show("Ngày Sinh người khai không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_khai.CustomFormat = "dd/MM/yyyy";
                }
            }
            else
            {
                if (cb_Chiconamsinh_khai.Checked == true)
                {
                    this.txt_Ngaysinh_khai.CustomFormat = "yyyy";
                }
                else
                {
                    this.txt_Ngaysinh_khai.CustomFormat = "dd/MM/yyyy";
                }
            }
        }
        private void txt_Ngaycapbansao_ValueChanged(object sender, EventArgs e)
        {
            this.txt_Ngaycapbansao.CustomFormat = "dd/MM/yyyy";
        }
        private void cb_Chiconamsinh_chong_CheckedChanged(object sender, EventArgs e)
        {
            int NamSinh = txt_Ngaysinh_chong.Value.Year;
            int NamHienTai = DateTime.Now.Year;
            int Tuoi = NamHienTai - NamSinh;
            txt_tuoi_chong.Text = Tuoi.ToString();
            if (Tuoi < 18)
            {
                if (cb_Chiconamsinh_chong.Checked == true)
                {
                    MessageBox.Show("Ngày Sinh cha không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_chong.CustomFormat = "yyyy";
                }
                else
                {
                    MessageBox.Show("Ngày Sinh cha không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_chong.CustomFormat = "dd/MM/yyyy";
                }
            }
            else
            {
                if (cb_Chiconamsinh_chong.Checked == true)
                {
                    this.txt_Ngaysinh_chong.CustomFormat = "yyyy";
                }
                else
                {
                    this.txt_Ngaysinh_chong.CustomFormat = "dd/MM/yyyy";
                }
            }
        }
        private void cb_Chiconamsinh_vo_CheckedChanged(object sender, EventArgs e)
        {
            int NamSinh = txt_Ngaysinh_vo.Value.Year;
            int NamHienTai = DateTime.Now.Year;
            int Tuoi = NamHienTai - NamSinh;
            txt_tuoi_vo.Text = Tuoi.ToString();
            if (Tuoi < 18)
            {
                if (cb_Chiconamsinh_vo.Checked == true)
                {
                    MessageBox.Show("Ngày Sinh cha không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_vo.CustomFormat = "yyyy";
                }
                else
                {
                    MessageBox.Show("Ngày Sinh cha không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_vo.CustomFormat = "dd/MM/yyyy";
                }
            }
            else
            {
                if (cb_Chiconamsinh_vo.Checked == true)
                {
                    this.txt_Ngaysinh_vo.CustomFormat = "yyyy";
                }
                else
                {
                    this.txt_Ngaysinh_vo.CustomFormat = "dd/MM/yyyy";
                }
            }
        }
        private void cb_Chiconamsinh_khai_CheckedChanged(object sender, EventArgs e)
        {
            int NamSinh = txt_Ngaysinh_khai.Value.Year;
            int NamHienTai = DateTime.Now.Year;
            int Tuoi = NamHienTai - NamSinh;
            txt_tuoi_khai.Text = Tuoi.ToString();
            if (Tuoi < 18)
            {
                if (cb_Chiconamsinh_khai.Checked == true)
                {
                    MessageBox.Show("Ngày Sinh cha không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_khai.CustomFormat = "yyyy";
                }
                else
                {
                    MessageBox.Show("Ngày Sinh cha không được thấp hơn 18 tuổi!");
                    this.txt_Ngaysinh_khai.CustomFormat = "dd/MM/yyyy";
                }
            }
            else
            {
                if (cb_Chiconamsinh_khai.Checked == true)
                {
                    this.txt_Ngaysinh_khai.CustomFormat = "yyyy";
                }
                else
                {
                    this.txt_Ngaysinh_khai.CustomFormat = "dd/MM/yyyy";
                }
            }
        }
        private void txt_Ngaytiepnhan_ValueChanged(object sender, EventArgs e)
        {
            object thoigian = CMSUtils.GetDataSQL("dbo_DMThoiGianXuLyHoSo", "ThoiGian", "MaTable = 'KETHON'", "");
            //txtHoTen.Text = thoigian.ToString();
            //return;
            int thoiHanXuLys = CheckNgayHenTraHS(Convert.ToInt32(thoigian));
            //txtHoTen.Text = thoiHanXuLys.ToString();
            //return;
            txt_ngaytradukien.Value = txt_ngaytiepnhan.Value.AddDays(thoiHanXuLys);
        }
        #endregion

        #region[Action]
        private void btn_Luu_Click(object sender, EventArgs e)
        {
            string TaoMaKetHon = "";
            object makhuvuc = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan", "List_PhuongXa", String.Format("TenTaiKhoan='{0}'", So_Tu_Phap.Properties.Settings.Default.Username), "");
            int count = int.Parse(CMSUtils.GetDataSQL("dbo_KetHon t LEFT OUTER JOIN dbo_DMKhuVuc o ON o.MaKhuVuc = t.MaKhuVuc", "Count(t.MaKhuVuc)", "t.MaKhuVuc ='" + makhuvuc.ToString() + "'", "").ToString());
            for (int i = count; ; i++)
            {
                string j = makhuvuc.ToString();
                if (i <= 9)
                {
                    TaoMaKetHon = j.ToString() + "000000000" + i.ToString();
                }
                else if (i > 9 && i <= 99)
                {
                    TaoMaKetHon = j.ToString() + "00000000" + i.ToString();

                }
                else if (i > 99 && i <= 999)
                {
                    TaoMaKetHon = j.ToString() + "0000000" + i.ToString();
                }
                else if (i > 999 && i <= 9999)
                {
                    TaoMaKetHon = j.ToString() + "000000" + i.ToString();
                }
                else if (i > 9999 && i <= 99999)
                {
                    TaoMaKetHon = j.ToString() + "00000" + i.ToString();
                }
                else if (i > 99999 && i <= 999999)
                {
                    TaoMaKetHon = j.ToString() + "0000" + i.ToString();
                }
                else if (i > 999999 && i <= 9999999)
                {
                    TaoMaKetHon = j.ToString() + "000" + i.ToString();
                }
                else if (i > 9999999 && i <= 99999999)
                {
                    TaoMaKetHon = j.ToString() + "00" + i.ToString();
                }
                DataTable dtDemTheoKhuVuc = CMSUtils.GetDataSQL("", "dbo_KetHon", "MaKhuVuc",
                    String.Format("MaKhuVuc = '{0}' AND MaKH='{1}'", makhuvuc.ToString(), TaoMaKetHon), "");
                if (dtDemTheoKhuVuc.Rows.Count == 0)
                {
                    break;
                }
            }
            object taiKhoanIDCanBo = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan", "TenTaiKhoan", String.Format("TenTaiKhoan='{0}'", So_Tu_Phap.Properties.Settings.Default.Username), "");
            DateTime NgayCapBanSao = txt_Ngaycapbansao.Value;
            NgayCapBanSao = Convert.ToDateTime(txt_Ngaycapbansao.Value.ToString("MM/dd/yyyy"));
            DateTime NgayDangKy = txt_ngaytiepnhan.Value;
            NgayDangKy = Convert.ToDateTime(txt_ngaytiepnhan.Value.ToString("MM/dd/yyyy"));
            //=====ngày sinh người khai====
            object NgaySinhNguoiKhai_Nam_check = "";
            object NgaySinhNguoiKhai_Nam = "";
            object NgaySinhNguoiKhai_Thang = "";
            object NgaySinhNguoiKhai_Ngay = "";
            //=====Ngày sinh chồng=========
            object NgaySinhChong_Nam_check = "";
            object NgaySinhChong_Nam = "";
            object NgaySinhChong_Thang = "";
            object NgaySinhChong_Ngay = "";
            //== ==Ngày sinh vợ============
            object NgaySinhVo_Nam_check = "";
            object NgaySinhVo_Nam = "";
            object NgaySinhVo_Thang = "";
            object NgaySinhVo_Ngay = "";
            object NgayCapNhat = DateTime.Now;
            object NgayTiepNhan = "";
            if (cb_Chiconamsinh_khai.Checked == true)
            {
                NgaySinhNguoiKhai_Nam_check = txt_Ngaysinh_khai.Value.Year;
                NgaySinhNguoiKhai_Nam = "";
                NgaySinhNguoiKhai_Thang = "";
                NgaySinhNguoiKhai_Ngay = "";
            }
            else
            {
                if (String.IsNullOrWhiteSpace(txt_Ngaysinh_khai.Text))
                {
                    NgaySinhNguoiKhai_Nam = "";
                    NgaySinhNguoiKhai_Thang = "";
                    NgaySinhNguoiKhai_Ngay = "";
                }
                else
                {
                    NgaySinhNguoiKhai_Nam_check = "";
                    NgaySinhNguoiKhai_Nam = txt_Ngaysinh_khai.Value.Year;
                    NgaySinhNguoiKhai_Thang = txt_Ngaysinh_khai.Value.Month;
                    NgaySinhNguoiKhai_Ngay = txt_Ngaysinh_khai.Value.Day;
                }
            }

            if (cb_Chiconamsinh_chong.Checked == true)
            {
                NgaySinhChong_Nam_check = txt_Ngaysinh_chong.Value.Year;
                NgaySinhChong_Nam = "";
                NgaySinhChong_Thang = "";
                NgaySinhChong_Ngay = "";
            }
            else
            {
                if (String.IsNullOrWhiteSpace(txt_Ngaysinh_chong.Text))
                {
                    NgaySinhChong_Nam = "";
                    NgaySinhChong_Thang = "";
                    NgaySinhChong_Ngay = "";
                }
                else
                {
                    NgaySinhChong_Nam_check = "";
                    NgaySinhChong_Nam = txt_Ngaysinh_chong.Value.Year;
                    NgaySinhChong_Thang = txt_Ngaysinh_chong.Value.Month;
                    NgaySinhChong_Ngay = txt_Ngaysinh_chong.Value.Day;
                }
            }

            if (cb_Chiconamsinh_vo.Checked == true)
            {
                NgaySinhVo_Nam_check = txt_Ngaysinh_vo.Value.Year;
                NgaySinhVo_Nam = "";
                NgaySinhVo_Thang = "";
                NgaySinhVo_Ngay = "";
            }
            else
            {
                if (String.IsNullOrWhiteSpace(txt_Ngaysinh_vo.Text))
                {
                    NgaySinhVo_Nam = "";
                    NgaySinhVo_Thang = "";
                    NgaySinhVo_Ngay = "";
                }
                else
                {
                    NgaySinhVo_Nam_check = "";
                    NgaySinhVo_Nam = txt_Ngaysinh_vo.Value.Year;
                    NgaySinhVo_Thang = txt_Ngaysinh_vo.Value.Month;
                    NgaySinhVo_Ngay = txt_Ngaysinh_vo.Value.Day;
                }
            }
            if (String.IsNullOrWhiteSpace(txt_ngaytiepnhan.Text))
            {
                NgayTiepNhan = "";
            }
            else
            {
                NgayTiepNhan = txt_ngaytiepnhan.Value.ToString("MM/dd/yyyy");
            }

            object maphuongxa = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan", "List_PhuongXa", String.Format("TenTaiKhoan='{0}'", So_Tu_Phap.Properties.Settings.Default.Username), "");
            object maquanhuyen = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan", "List_QuanHuyen", String.Format("TenTaiKhoan='{0}'", So_Tu_Phap.Properties.Settings.Default.Username), "");
            object matinhthanhpho = CMSUtils.GetDataSQL("dbo_TB_TaiKhoan", "List_TinhThanhPho", String.Format("TenTaiKhoan='{0}'", So_Tu_Phap.Properties.Settings.Default.Username), "");
            object phuongxa = CMSUtils.GetDataSQL("dbo_DMKhuVuc", "TenKhuVuc", String.Format("MaKhuVuc='{0}'", maphuongxa.ToString()), "");
            object quanhuyen = CMSUtils.GetDataSQL("dbo_DMKhuVuc", "TenKhuVuc", String.Format("MaKhuVuc='{0}'", maquanhuyen.ToString()), "");
            object tinhthanhpho = CMSUtils.GetDataSQL("dbo_DMKhuVuc", "TenKhuVuc", String.Format("MaKhuVuc='{0}'", matinhthanhpho.ToString()), "");

            Dictionary<string, object> dic = new Dictionary<string, object>();

            dic.Add("MaKH", TaoMaKetHon);
            dic.Add("MaKhuVuc", makhuvuc);
            dic.Add("LoaiKH", ddl_loaikethon.SelectedValue);
            dic.Add("So", txt_sohieu.Text);
            dic.Add("QuyenSo", txt_quyenso.Text);
            dic.Add("NgayDangKy", NgayDangKy);
            dic.Add("HoTenChong", txt_Hoten_chong.Text);
            dic.Add("NgaySinhChong", NgaySinhChong_Ngay);
            dic.Add("ThangSinhChong", NgaySinhChong_Thang);
            dic.Add("NamSinhChong", NgaySinhChong_Nam);
            dic.Add("TuoiChong", txt_tuoi_chong.Text);
            dic.Add("DanTocChong", ddl_dantoc_chong.SelectedValue);
            dic.Add("QuocTichChong", ddl_quoctich_chong.SelectedValue);
            dic.Add("QueQuanChong", txt_quequan_chong.Text);
            dic.Add("DiaChiChong", txt_noithuongtru_chong.Text);
            dic.Add("GiayToTTChong", txt_giaytothaythe_chong.Text);
            dic.Add("SoCMNDChong", txt_cmnd_chong.Text);
            dic.Add("NoiCapCMNDChong", txt_noicapCMND_chong.Text);
            dic.Add("NgayCapCMNDChong", txt_NgayCapCMND_chong.Value.ToString("MM/dd/yyyy"));
            dic.Add("LanKetHonChong", txt_solankethon_chong.Text);
            dic.Add("HoTenVo", txt_Hoten_vo.Text);
            dic.Add("NgaySinhVo", NgaySinhVo_Ngay);
            dic.Add("ThangSinhVo", NgaySinhVo_Thang);
            dic.Add("NamSinhVo", NgaySinhVo_Nam);
            dic.Add("TuoiVo", txt_tuoi_vo.Text);
            dic.Add("DanTocVo", ddl_dantoc_vo.SelectedValue);
            dic.Add("QuocTichVo", ddl_quoctich_vo.SelectedValue);
            dic.Add("QueQuanVo", txt_quequan_vo.Text);
            dic.Add("DiaChiVo", txt_noithuongtru_vo.Text);
            dic.Add("GiayToTTVo", txt_giaytothaythe_vo.Text);
            dic.Add("SoCMNDVo", txt_cmnd_vo.Text);
            dic.Add("NoiCapCMNDVo", txt_noicapCMND_vo.Text);
            dic.Add("NgayCapCMNDVo", txt_NgayCapCMND_vo.Value.ToString("MM/dd/yyyy"));
            dic.Add("LanKetHonVo", txt_solankethon_vo.Text);
            dic.Add("HoTenCBHT", ddl_canbohotich.SelectedText);
            dic.Add("NguoiKy", ddl_nguoiky.SelectedText);
            dic.Add("ChucDanh", ddl_chucdanh.SelectedText);
            dic.Add("Huy", cb_huy.Checked);
            dic.Add("GhiChu", txt_ghichu.Text);
            dic.Add("NguoiCapNhat", So_Tu_Phap.Properties.Settings.Default.Username);
            dic.Add("NgayCapNhat", NgayCapNhat.ToString());
            dic.Add("NgayCapBanSao", txt_Ngaycapbansao.Value.ToString("MM/dd/yyyy"));
            dic.Add("CaiChinh", "0");
            dic.Add("Phuong", phuongxa.ToString());
            dic.Add("Quan", quanhuyen.ToString());
            dic.Add("ThanhPho", tinhthanhpho.ToString());
            dic.Add("NGAYTRUYEN", DateTime.Now.ToString());  
            dic.Add("TN_NgayTraDuKien", txt_ngaytradukien.Value.ToString("MM/dd/yyyy"));
            dic.Add("TN_MaTrangThai", ddl_trangthaihoso.SelectedValue);
            dic.Add("TN_MaPhanPhoi", ddl_phanphoihoso.SelectedValue);
            dic.Add("HoTenNguoiKhai", txt_hoten_khai.Text);
            dic.Add("CMNDNguoiKhai", txt_CMND_khai.Text);
            ////dic.Add("NgayTao", xxxxxxxxxxxxxxx);
            ////dic.Add("NguoiTao", xxxxxxxxxxxxxxx);
            ////dic.Add("NgayChinhSua", xxxxxxxxxxxxxxx);
            ////dic.Add("NguoiChinhSua", xxxxxxxxxxxxxxx);
            dic.Add("NgaySinhKhai", NgaySinhNguoiKhai_Ngay);
            dic.Add("ThangSinhKhai", NgaySinhNguoiKhai_Thang);
            dic.Add("NamSinhKhai", NgaySinhNguoiKhai_Nam);
            dic.Add("TuoiKhai", txt_tuoi_khai.Text);
            dic.Add("DiaChiKhai", txt_diachi_khai.Text);
            dic.Add("SDTKhai", txt_SDT_khai.Text);
            dic.Add("QuanHeKhai", txt_quanhevoinguoidcks_khai.Text);
            dic.Add("TN_CanBoNhan", taiKhoanIDCanBo);
            dic.Add("TN_NgayCanBoNhan", NgayTiepNhan);
            ////dic.Add("TN_FileDinhKem", xxxxxxxxxxxxxxx);
            ////dic.Add("TN_LyDoTuChoiHoSo", xxxxxxxxxxxxxxx);
            ////dic.Add("TN_CanBoChuyen", xxxxxxxxxxxxxxx);
            dic.Add("TN_HoSoKhac", txt_hosokhac.Text);
            ////dic.Add("NoiDangKy", xxxxxxxxxxxxxxx);
            dic.Add("Nam", txt_Nam.Value.ToString("MM/dd/yyyy"));
            ////dic.Add("Check_NamSinh_Cha", xxxxxxxxxxxxxxx);
            ////dic.Add("Check_NamSinh_Me", xxxxxxxxxxxxxxx);
            dic.Add("Check_NamSinh_NguoiKhai", NgaySinhNguoiKhai_Nam);


            if (CMSUtils.InsertDataSQL("dbo_KetHon", dic.Keys.ToArray(), dic.Values.ToArray()) > 0)
            {
                #region [Upload File]
                object UploadFileDinhKem = DBNull.Value;

                //if (UpLoadFiLe.HasFile)
                //{
                //    if (this.UpLoadFiLe.PostedFile.ContentLength > 1024000)
                //    {
                //      //  this.lblError.Text = "Kich thuoc file khong duoc vuot qua 100KB";
                //        return;
                //    }
                //    string path = "/Uploads/KhaiSinh/" + DateTime.Now.ToString("yyyyMMddHHmmss") + "/";
                //    string fullPath = Server.MapPath("~/" + path);
                //    if (!Directory.Exists(fullPath))
                //    {
                //        Directory.CreateDirectory(fullPath);
                //    }
                //    this.UpLoadFiLe.SaveAs(fullPath + this.UpLoadFiLe.FileName);
                //    UploadFileDinhKem = path + UpLoadFiLe.FileName;
                //    //}
                //}

                #endregion
                string[] colsFile = { "TN_FileDinhKem" };
                object[] valuesFile = { UploadFileDinhKem };
                if (CMSUtils.UpdateDataSQL("MaKH", TaoMaKetHon, "dbo_KetHon", colsFile, valuesFile) > 0)
                {
                    MessageBox.Show("Thêm hồ sơ kết hôn thành công!");
                    btn_Luu.Visible = false;
                    So_Tu_Phap.Properties.Settings.Default.id = TaoMaKetHon;
                    So_Tu_Phap.Properties.Settings.Default.Save();
                    btn_In.Visible = true;
                }
            }
            else
            {
                MessageBox.Show("Lỗi trong quá trình thêm!");
                return;
            }

        }

        #endregion


    }
}